#include <iostream>
#include "ScreenClient.cpp"
#include "Parser.h"
using namespace std;
void Parser:: init_Blank(Screen& myScreen)
{
	myScreen=Screen(7,5,'#');
}
void Parser:: init_A(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	myScreen.set(1,3,'#');
	myScreen.set(2,2,'#');
	myScreen.set(2,4,'#');
	for(int i=1;i<6;i++)
		myScreen.set(3,i,'#');
	myScreen.set(4,0,'#');
	myScreen.set(4,6,'#');
	
}
void Parser:: init_B(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=2)
		for(int col=2;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=0;row<5;++row)
		myScreen.set(row,1,'#');
	myScreen.set(1,6,'#');
	myScreen.set(3,6,'#');
}
void Parser:: init_C(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=4)
		for(int col=1;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=1;row<4;++row)
		myScreen.set(row,0,'#');
}
void Parser:: init_D(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=4)
		for(int col=2;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=0;row<5;++row)
		myScreen.set(row,1,'#');
	for(int row=1;row<4;++row)
		myScreen.set(row,6,'#');
}
void Parser:: init_E(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=2)
		for(int col=1;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=0;row<5;++row)
		myScreen.set(row,0,'#');
	
}
void Parser:: init_F(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<3;row+=2)
		for(int col=1;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=0;row<5;++row)
		myScreen.set(row,0,'#');
}
void Parser:: init_G(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=4)
		for(int col=1;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=1;row<4;++row)
		myScreen.set(row,0,'#');
	for(int col=4;col<7;++col)
		myScreen.set(2,col,'#');
	myScreen.set(3,5,'#');
}
void Parser:: init_H(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int col=1;col<7;col+=5)
		for(int row=0;row<5;++row)
			myScreen.set(row,col,'#');
	for(int col=2;col<6;++col)
		myScreen.set(2,col,'#');
}
void Parser:: init_I(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=4)
		for(int col=1;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=1;row<4;++row)
		myScreen.set(row,3,'#');
}
void Parser:: init_J(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<4;++row)
		myScreen.set(row,6,'#');
	for(int col=1;col<6;++col)
		myScreen.set(4,col,'#');
	myScreen.set(3,0,'#');
}
void Parser::init_K(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;++row)
		myScreen.set(row,1,'#');
	for(int col=2;col<5;++col)
	{	
		myScreen.set(col,col,'#');
		myScreen.set(4-col,col,'#');
	}
	myScreen.set(4,5,'#');
}
void Parser:: init_L(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;++row)
		myScreen.set(row,1,'#');
	for(int col=1;col<7;++col)
		myScreen.set(4,col,'#');
}
void Parser:: init_M(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=2;row<5;++row)
	{
		myScreen.set(row,4-row,'#');
		myScreen.set(row,row+2,'#');
	}
	myScreen.set(1,2,'#');
	myScreen.set(1,4,'#');
	myScreen.set(3,3,'#');
	myScreen.set(4,3,'#');
}
void Parser:: init_N(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int col=1;col<6;col+=4)
		for(int row=0;row<5;++row)
			myScreen.set(row,col,'#');
	for(int row=1;row<4;++row)
		myScreen.set(row,row+1,'#');
}
void Parser:: init_O(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=4)
		for(int col=1;col<6;++col)
			myScreen.set(row,col,'#');
	for(int col=0;col<7;col+=6)
		for(int row=1;row<4;++row)
			myScreen.set(row,col,'#');
}
void Parser:: init_P(Screen& myScreen)
{
	//myScreen=Screen(7,5,' ');
	init_F(myScreen);
	myScreen.set(1,6,'#');
}
void Parser::init_Q(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=4)
		for(int col=1;col<5;++col)
			myScreen.set(row,col,'#');
	for(int col=0;col<6;col+=5)
		for(int row=1;row<4;++row)
			myScreen.set(row,col,'#');
	myScreen.set(2,4,'#');
	myScreen.set(4,6,'#');
}
void Parser:: init_R(Screen& myScreen)
{
	init_P(myScreen);
	myScreen.set(3,5,'#');
	myScreen.set(4,6,'#');
}
void Parser:: init_S(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=2)
		for(int col=2;col<5;++col)
			myScreen.set(row,col,'#');
	myScreen.set(1,1,'#');
	myScreen.set(3,5,'#');
	myScreen.set(0,5,'#');
	myScreen.set(4,1,'#');
}
void Parser:: init_T(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int col=0;col<7;++col)
		myScreen.set(0,col,'#');
	for(int row=1;row<5;++row)
		myScreen.set(row,3,'#');
}
void Parser:: init_U(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int col=0;col<7;col+=6)
		for(int row=0;row<4;++row)
			myScreen.set(row,col,'#');
	for(int col=1;col<6;++col)
		myScreen.set(4,col,'#');
}
void Parser:: init_V(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=1;row<5;++row)
	{
		myScreen.set(row,row-1,'#');
		myScreen.set(row,7-row,'#');
	}		
}
void Parser:: init_W(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=1;row<4;++row)
	{
		myScreen.set(row,row-1,'#');
		myScreen.set(row,7-row,'#');
	}
	myScreen.set(4,2,'#');
	myScreen.set(4,4,'#');
	myScreen.set(1,3,'#');
	myScreen.set(2,3,'#');
}
void Parser::init_X(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;++row)
	{
		myScreen.set(row,row+1,'#');
		myScreen.set(row,5-row,'#');
	}
}
void Parser::init_Y(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<3;++row)
	{
		myScreen.set(row,row+1,'#');
		myScreen.set(row,5-row,'#');
	}
	myScreen.set(3,3,'#');
	myScreen.set(4,3,'#');
}
void Parser::init_Z(Screen& myScreen)
{
	myScreen=Screen(7,5,' ');
	for(int row=0;row<5;row+=4)
		for(int col=1;col<6;++col)
			myScreen.set(row,col,'#');
	for(int row=1;row<4;++row)
		myScreen.set(row,5-row,'#');
}